diff options
| author | Factiven <[email protected]> | 2023-04-18 21:44:45 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-04-18 21:44:45 +0700 |
| commit | f07aa233fe380b98479b398aee5a83e93bdf42d6 (patch) | |
| tree | 2d39e34db7ed3ed3cc76f383e69bf30dd2e8a4c1 /pages/anime/watch/[...info].js | |
| parent | 10th fixes (diff) | |
| download | moopa-f07aa233fe380b98479b398aee5a83e93bdf42d6.tar.xz moopa-f07aa233fe380b98479b398aee5a83e93bdf42d6.zip | |
added skip op/ed
Diffstat (limited to 'pages/anime/watch/[...info].js')
| -rw-r--r-- | pages/anime/watch/[...info].js | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/pages/anime/watch/[...info].js b/pages/anime/watch/[...info].js index 6c51498..98926d4 100644 --- a/pages/anime/watch/[...info].js +++ b/pages/anime/watch/[...info].js @@ -1,17 +1,14 @@ -import Layout from "../../../components/layout"; -// import { data } from "../../../lib/testData"; -// import { aniData } from "../../../lib/infoData"; import Image from "next/image"; import VideoPlayer from "../../../components/videoPlayer"; import Link from "next/link"; import { closestMatch } from "closest-match"; import Head from "next/head"; -import { useEffect, useState } from "react"; +import { useState } from "react"; import Modal from "../../../components/modal"; import { useNotification } from "../../../lib/useNotify"; -import { signIn, signOut } from "next-auth/react"; +import { signIn } from "next-auth/react"; import { getServerSession } from "next-auth/next"; import { authOptions } from "../../api/auth/[...nextauth]"; @@ -23,7 +20,7 @@ export default function Info({ info, sessions, statusWatch }) { const title = info.aniData.title.romaji || info.aniData.title.english; const data = info.aniData; const fallback = info.epiFallback; - const { Notification: NotificationComponent, show } = useNotification(); + const { Notification: NotificationComponent } = useNotification(); let playingEpisode = data.episodes .filter((item) => item.id == info.id) @@ -60,6 +57,8 @@ export default function Info({ info, sessions, statusWatch }) { .filter((item) => item.id == info.id) .map((item) => item.title); + // console.log(info.skip); + return ( <> <Head> @@ -159,13 +158,13 @@ export default function Info({ info, sessions, statusWatch }) { <VideoPlayer key={info.id} data={info.epiData} - seek={info.seek} - titles={title} id={info.id} progress={parseInt(playingEpisode)} session={sessions} aniId={parseInt(data.id)} stats={statusWatch} + op={info.skip.op} + ed={info.skip.ed} /> </div> <div> @@ -388,7 +387,6 @@ export async function getServerSideProps(context) { const id = info[0]; const aniId = info[1]; - const seek = info[2] || 0; let epiFallback = null; const res = await fetch(`https://api.moopa.my.id/meta/anilist/watch/${id}`); @@ -419,9 +417,13 @@ export async function getServerSideProps(context) { } } - const playingEpisode = aniData.episodes - .filter((item) => item.id == id) - .map((item) => item.number); + const playingEpisode = + aniData.episodes + .filter((item) => item.id == id) + .map((item) => item.number) || + epiFallback.episodes + .filter((item) => item.id == id) + .map((item) => item.number); const response = await fetch("https://graphql.anilist.co/", { method: "POST", @@ -512,14 +514,27 @@ export async function getServerSideProps(context) { statusWatch = "COMPLETED"; } + const res4 = await fetch( + `https://api.aniskip.com/v2/skip-times/${aniData.malId}/${parseInt( + playingEpisode + )}?types[]=ed&types[]=mixed-ed&types[]=mixed-op&types[]=op&types[]=recap&episodeLength=` + ); + const skip = await res4.json(); + + const op = skip.results?.find((item) => item.skipType === "op") || null; + const ed = skip.results?.find((item) => item.skipType === "ed") || null; + return { props: { info: { id, - seek, epiData, aniData, epiFallback, + skip: { + op: op, + ed: ed, + }, }, sessions: session, statusWatch: statusWatch, |